#include "DoOpPackedArray.h"
#include "DevilSemantic.h"

void DoOpPackedArray::ds_packedarray::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

void DoOpPackedArray::ds_setpacking::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

void DoOpPackedArray::ds_currentpacking::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

void DoOpPackedArray::ds_length::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

bool DoOpPackedArray::ds_length::match(DevilSemantic &state) const 
{
	if (state.getOpStack().size() < 1)
		return false;
	CRefPtr< _DoObject > obj1 = state.getOpStack().top(0);
	if (obj1->type() == ePackedArray)
		return true;
	return false;
}

void DoOpPackedArray::ds_get::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

bool DoOpPackedArray::ds_get::match(DevilSemantic &state) const 
{
	if (state.getOpStack().size() < 2)
		return false;
	CRefPtr< _DoObject > obj1 = state.getOpStack().top(1);
	if (obj1->type() == ePackedArray)
		return true;
	return false;
}

void DoOpPackedArray::ds_getinterval::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

void DoOpPackedArray::ds_aload::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

bool DoOpPackedArray::ds_aload::match(DevilSemantic &state) const 
{
	if (state.getOpStack().size() < 1)
		return false;
	CRefPtr< _DoObject > obj1 = state.getOpStack().top(0);
	if (obj1->type() == ePackedArray)
		return true;
	return false;
}

void DoOpPackedArray::ds_copy::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

bool DoOpPackedArray::ds_copy::match(DevilSemantic &state) const 
{
	if (state.getOpStack().size() < 2)
		return false;
	CRefPtr< _DoObject > obj1 = state.getOpStack().top(0);
	CRefPtr< _DoObject > obj2 = state.getOpStack().top(1);
	if (obj1->type() == eArray && obj2->type() == ePackedArray)
		return true;
	return false;
}

void DoOpPackedArray::ds_forall::execute(DevilSemantic &state)
{
	CRefPtr< _DoObject > obj1;
	CRefPtr< _DoObject > obj2;
	CRefPtr< _DoObject > obj3;
	CRefPtr< _DoObject > obj4;
	CRefPtr< _DoObject > obj5;
	CXXTHROW
}

bool DoOpPackedArray::ds_forall::match(DevilSemantic &state) const 
{
	if (state.getOpStack().size() < 2)
		return false;
	CRefPtr< _DoObject > obj1 = state.getOpStack().top(1);
	if (obj1->type() == ePackedArray)
		return true;
	return false;
}
